A Binary Large Object (BLOB) is a collection of binary data stored as a single entity. BLOBs typically contain image, audio, or other multimedia data. Navigation system vendors may also store map data in BLOBs.
The Navigation Data Standard (NDS) describes storing map data in a relational database. The relational database includes one or more tables that include an identifier, attributes, and a BLOB for each record in the table. Using relational databases to store BLOBs has the advantage of simplifying data access by using Structured Query Language (SQL). SQL is a database computer language designed for managing data in relational database management systems (RDBMS).
For testing proprietary navigational databases, NDS specifies encapsulating a set of BLOB-based tables with a set of hard-coded virtual tables. The hard-coded virtual tables are created in a loadable SQLite module. The loadable SQLite module may be regarded as a database access library allowing data to be read from the hard-coded virtual tables using SQL. However, like other database access libraries, if the underlying database format changes, so does the implementation of the SQLite module. For example, if a database is extended, e.g., to include new tables and/or columns, the SQLite module also needs to be extended. As a result, if there are three database versions, three SQLite modules are also needed to access data from each of the database versions.
Therefore, it would be beneficial to have an easier way of accessing different database versions. This would be especially useful in a testing program designed to analyze data differences between the different database versions.